博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4. PHP运算符、判断语句、循环语句
阅读量:6122 次
发布时间:2019-06-21

本文共 4065 字,大约阅读时间需要 13 分钟。

1.运算符
a.算术运算符
一元运算符 二元运算符
负号(一元减) +
++ -
-- *
null /
null %
  • 在js中,+可以做数字和字符串相加。在PHP中,+只能做数字相加。
  • ++是递增1,--是递减1,要注意++前置和++后置
  • ++前置是先自增,++后置是后自增
'; $num1 = 10; echo ++$num1; //11?>复制代码
$num = 5;echo (++$num) + (++$num) + (++$num); //6 + 7 + 8 = 21复制代码
$num = 5;echo ($num++) + ($num++) + ($num++); //5 + 6 + 7 = 18复制代码
b.关系运算符
运算符 描述
> 大于
>= 大于等于
< 小于
<= 小于等于
== 等于
!= 不等于
=== 全等于
!== 不全等于

比较运算符的结果不是 true 就是 false

c.逻辑元素符
运算符 描述
&&
!
  • 逻辑运算符的作用是用来连接比较运算符的
  • 非运算符去括号,每个表达式取非,或变与,与变或
d.字符串连接符
echo 'aa'.'bb'.'cc'; //aabbcc复制代码
e.赋值运算符
运算符 描述
= 赋值
a+=b a=a+b
-= 加等
*= 乘等
/= 除等
%= 摸等
a.=b a=a.b
f.三元运算符

语法: 表达式?值:值

$num = 20;echo $num%2 == 0? '偶数':'奇数'; //偶数复制代码
2.判断语句

a.单分支 语法:

if(条件){    //代码}复制代码

如果if块中就一句代码,则大括号是可以省略的。

if(20>10)echo 'true';复制代码

替代语法 { = : } = endif

if(20>10):    echo 'true';endif;for():endfor;复制代码

b.双分支 语法:

if(条件){    //代码}else{    //代码}复制代码

c.多分支 语法:

if(条件){    //代码}elseif(条件){    //代码}else{    //代码}复制代码

d.多路选择 语法:

switch(表达式){    case 常量:    代码;    break;    case 常量:    代码;    break;    default:    匹配失败}复制代码

++判断变量是否为空: 在处理一个没有定义的变量时候会报错,所以在处理变量之前,我们先要判断一下变量,判断的函数常用如下两个++

函数 描述
isset() 判断变量是否有值,并且值不为null
empty() 判断变量是否为 只要能转成bool为false的值,通过empty检测都为空

e.判断闰年

  • 能被4整除,但不能被100整除
  • 能被400整除

  • trim():去除数据两边的空格
  • is_numeric():判断是否是数字或数字字符串
  • is_int():是否是整型
    
PHP
=0){//判断是否是负数 if($year%4==0 && $year%100!=0 || $year%400==0) echo "{
$year}是闰年"; else echo "{
$year}是平年"; }else{ echo '年份必须是正整数'; } }else { echo '您输入的是小数'; } }else { echo '您输入的不是数字'; } } } ?>复制代码
e.elseif和else if的区别

elseif是多分支,else if是嵌套if语句。 这两个虽然语义不一样,但是最终的结果是一样的。他们在替代语法上才能体现出来。

else if(){    }==else {    if(){            }}复制代码
3.循环语句

当一段代码重复执行多次执行,需要用到循环

a.for

for循环执行结束后,$i的变量还是存在的

标准语法:

for($i=0; $i<10; $i++){    //执行代码 }复制代码

替代语法:

for($i=0; $i<10; $i++):    //执行代码 endfor复制代码

for循环自动分行:

'; endfor; ?>
复制代码

多条语句组成表达式:

for($i=1,$j=9; $i<=$j; $i++,$j--) {	echo "10可以分为{
$i}和{
$j}
";}//如果条件语句有两条组成,后面条件结果把前面条件结果给覆盖了复制代码
b.while

标准语法:

$num = 0;$i = 1;while($i<=100){    $num += $i++;}echo $i; //101复制代码

替代语法:

while(条件){    //执行代码}复制代码
c.do-while
do{}while(条件);复制代码
d.foreach

用来遍历数组

语法:

foreach(数组 as 值){}foreach(数组 as 键=>值){}复制代码

示例:

'; } //李白 //大白 //小白 echo '

'; foreach($stu_array as $key => $stu){ echo $key,$stu,'
'; } // 0李白 // 1大白 // 2小白?>复制代码

示例:

'; } }}?>
爱好:
爬山
读书
游泳
复制代码
e.for、while、do-while的区别
  • 这三个循环可以相互代替,
  • 明确知道循环多少次首选for循环
  • 不知道循环多少次,一直循环到条件不成立为止,选while和do-while.
  • While先判断再执行,do-while选执行再判断
  • ++while条件不成立就不执行,do-while条件不成立也要执行一次++
  • 获取数组的长度 count()和sizeof()
f.替代语法总结

PHP提供了替代语法,主要用于在PHP代码和HTML代码混编的时候使用,具有替换语法的语句有if、switch、for、while、foreach,将左大括号变冒号,右大括号变endXXX。

g.跳转语句
  • break:中断循环
for($i=1;$i<=10;$i++){    if($i==5){        break; //等于5的时候跳出循环 // 1 2 3 4 5    }    echo $i,' ';}复制代码

break中断是当前循环,如果想要中断多重循环,在break后面加上需要中断循环的层数(break N)

for($i=1;$i<=10;$i++){    for($j=1;$j<=$i;$j++){        echo $j,' ';        if($j==5){            break 2; //等于5的时候中断2重循环 // 1 1 2 1 2 3 1 2 3 4 1 2 3 4 5         }    }}复制代码
  • continue: 跳出当前循环,进入下一个循环(continue后面也可以带循环的层数,continue N)
for($i=1;$i<=10;$i++){    if($i==5){        continue; //等于5的时候跳出当前循环 进入下一个循环 // 1 2 3 4 6 7 8 9 10     }    echo $i,' ';}复制代码
h.翻转数组
$stu = array('tom','berry','ketty','rose','jack');print_r($stu); echo '

';for($i=0,$j=count($stu)-1; $i<$j; $i++){ $temp=$stu[$i]; $stu[$i]=$stu[$j]; $stu[$j]=$temp;}print_r($stu); echo '

';复制代码
i.九九乘法表
'; for($j=1; $j<=$i; $j++) { echo "
'; } echo '
'; } ?>
{
$j}*{
$i}=".($j*$i),'
复制代码

转载地址:http://dnwua.baihongyu.com/

你可能感兴趣的文章
时间属性
查看>>
汽车OS混战时刻:斑马加快争夺新的应用场景
查看>>
第十九章:集合视图(十七)
查看>>
BIOS
查看>>
Elasticsearch之元数据(meta-fields)介绍
查看>>
基于Django+Bootstrap框架,可视化展示内存监控信息
查看>>
Pytorch | BERT模型实现,提供转换脚本【横扫NLP】
查看>>
biostar handbook: 第七周笔记汇总+调整通知
查看>>
涨薪必备|给你一份超详细Spring Boot知识清单
查看>>
YII2 关联查询,不修改search, 使用 GridView::widget 输出
查看>>
DNS服务-了解篇
查看>>
springcloud应用程序上下文层次结构
查看>>
Apache Shiro在web开发安全技术中的应用
查看>>
继续内存优化——一脸懵逼
查看>>
每天五分钟linux(3)-pwd
查看>>
js 获取 url 查询参数
查看>>
数据价值提升新模式:数据资产管理“AIGOV五星模型”
查看>>
Linux安装jdk
查看>>
经验积累:SoapUI的使用相关--动态取得的Soap Message内容,动态匹配应答
查看>>
SMG协同办公平台规划与实践
查看>>